package cn.dataling.ai.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;

/**
 * 聊天会话
 */
@TableName(value = "ai_chat_memory")
public class AiChatMemory {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 对话ID
     */
    @TableField(value = "conversation_id")
    private String conversationId;

    /**
     * 内容
     */
    @TableField(value = "content")
    private String content;

    /**
     * 类型 'USER','ASSISTANT','SYSTEM','TOOL'
     */
    @TableField(value = "`type`")
    private String type;

    /**
     * 创建时间
     */
    @TableField(value = "created_at")
    private LocalDateTime createdAt;

    /**
     * 获取主键
     *
     * @return id - 主键
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取对话ID
     *
     * @return conversation_id - 对话ID
     */
    public String getConversationId() {
        return conversationId;
    }

    /**
     * 设置对话ID
     *
     * @param conversationId 对话ID
     */
    public void setConversationId(String conversationId) {
        this.conversationId = conversationId;
    }

    /**
     * 获取内容
     *
     * @return content - 内容
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置内容
     *
     * @param content 内容
     */
    public void setContent(String content) {
        this.content = content;
    }

    /**
     * 获取类型 'USER','ASSISTANT','SYSTEM','TOOL'
     *
     * @return type - 类型 'USER','ASSISTANT','SYSTEM','TOOL'
     */
    public String getType() {
        return type;
    }

    /**
     * 设置类型 'USER','ASSISTANT','SYSTEM','TOOL'
     *
     * @param type 类型 'USER','ASSISTANT','SYSTEM','TOOL'
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 获取创建时间
     *
     * @return created_at - 创建时间
     */
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置创建时间
     *
     * @param createdAt 创建时间
     */
    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
}